package com.novax.ex.activity.open.model.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import jakarta.validation.constraints.NotNull;


import java.math.BigDecimal;
import java.util.Date;

/**
 * Description: IEO配置
 *
 * @author shaw
 * @date 11/30/22 14:23
 */
@Schema(description = "ieo配置 request")
@Data
public class IeoConfigRequest {
    /**
     * 项目名
     */
    @NotNull
    @Schema(description = "项目名")
    private String projectName;

    /**
     * 项目币种
     */
    @NotNull
    @Schema(description = "项目币种")
    private String currency;

    /**
     * 图片
     */
    @NotNull
    @Schema(description = "图片")
    private String img;

    /**
     * Vip等级限制
     */
    @NotNull
    @Schema(description = "Vip等级限制")
    private Integer vipLimit;

    /**
     * 总份数
     */
    @Schema(description = "总份数")
    private Integer portion;

    /**
     * 真实分配总份数
     */
    @Schema(description = "真实分配总份数")
    private Integer sharePortion;

    /**
     * 每份数量
     */
    @NotNull
    @Schema(description = "每份数量")
    private BigDecimal amount;

    /**
     * 有效邀请人数
     */
    @NotNull
    @Schema(description = "有效邀请人数")
    private Integer invitee;

    /**
     * 权重系数
     */
    @NotNull
    @Schema(description = "权重系数")
    private BigDecimal coefficient;

    /**
     * 状态 0=未开启 1=开启
     */
    @Schema(description = "状态 0=未开启 1=开启")
    private Integer state;

    /**
     * 开始时间
     */
    @NotNull
    @Schema(description = "开始时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @NotNull
    @Schema(description = "结束时间")
    private Date endTime;

    /**
     * 解锁时间
     */
    @Schema(description = "解锁时间")
    private Date unlockTime;

    /**
     * 已注册天数限制
     */
    @NotNull
    @Schema(description = "要求用户最低要注册多少天")
    private Integer register;

    @Schema(description = "前台显示的认购份数")
    private Integer displayCount;

    /**
     * 手动修改认购倍数
     */
    @Schema(description = "手动修改认证倍数")
    private BigDecimal multiple;

    /**
     * 历史最高涨幅
     */
    @Schema(description = "历史最高涨幅", hidden = true)
    private Integer increaseHistory;

}
